home *** CD-ROM | disk | FTP | other *** search
/ Aminet 21 / Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso / Aminet / util / pack / RealSize.lha / RealSize / emodules / libraries / xfdmaster.e next >
Text File  |  1997-08-20  |  10KB  |  251 lines

  1. ;/** execute me to create and install the module
  2.  
  3. ec xfdmaster.e
  4. copy xfdmaster.m to EModules:libraries/xfdmaster.m
  5. quit
  6.  
  7. **    $VER: xfdmaster.i 38.1 (28.5.97)
  8. **
  9. **    Copyright © 1994-97 by Georg Hörmann
  10. **    All Rights Reserved
  11.  
  12. v38 converted by Kyzer
  13.  
  14. **/
  15.  
  16. OPT MODULE
  17. OPT EXPORT
  18. OPT PREPROCESS
  19.  
  20. MODULE 'exec/libraries'
  21.  
  22. OBJECT xfdmasterbase
  23.   libnode:lib,
  24.   seglist,
  25.   dosbase,
  26.   firstslave,
  27.   firstforeman,
  28.   minbuffersize,
  29.   minlinkersize
  30. ENDOBJECT
  31.  
  32. CONST XFDM_VERSION=38
  33.  
  34. #define XFDM_NAME 'xfdmaster.library'
  35.  
  36. CONST XFDOBJ_BUFFERINFO=1,XFDOBJ_SEGMENTINFO=2,XFDOBJ_LINKERINFO=3,
  37.       XFDOBJ_SCANNODE=4,XFDOBJ_SCANHOOK=5,XFDOBJ_MAX=5
  38.  
  39. OBJECT xfdbufferinfo
  40.   sourcebuffer,sourcebuflen,
  41.   slave,
  42.   packername,
  43.   packerflags:INT,
  44.   error:INT,
  45.   targetbuffer,targetbufmemtype,targetbuflen,targetbufsavelen,
  46.   decraddress,
  47.   jmpaddress,
  48.   special,
  49.   flags:INT,reserved0:INT,
  50.   mintargetlen,finaltargetlen,usertargetbuf,usertargetbuflen
  51. ENDOBJECT
  52.  
  53. #define maxspeciallen error
  54.  
  55. OBJECT xfdsegmentinfo
  56.   seglist,slave,packername,packerflags:INT,error:INT,
  57.   special,relmode:INT,flags:INT
  58. ENDOBJECT
  59.  
  60. OBJECT xfdlinkerinfo
  61.   buffer,buflen,linkername,unlink,reserved:INT,error:INT,
  62.   hunk1,hunk2,amount1,amount2,save1,save2,savelen1,savelen2
  63. ENDOBJECT
  64.  
  65. OBJECT xfdscannode
  66.   next,save,savelen,packername,packerflags
  67. ENDOBJECT
  68.  
  69. OBJECT xfdscanhook
  70.   entry,data,todo,scannode
  71. ENDOBJECT
  72.  
  73. ENUM XFDERR_OK=0,XFDERR_NOMEMORY,XFDERR_NOSLAVE,XFDERR_NOTSUPPORTED,
  74.      XFDERR_UNKNOWN,XFDERR_NOSOURCE,XFDERR_WRONGPASSWORD,XFDERR_BADHUNK,
  75.      XFDERR_CORRUPTEDDATA,XFDERR_MISSINGRESOURCE,XFDERR_WRONGKEY,
  76.      XFDERR_BETTERCPU,XFDERR_HOOKBREAK,XFDERR_DOSERROR,XFDERR_NOTARGET,
  77.      XFDERR_TARGETTOOSMALL,XFDERR_TARGETNOTSUPPORTED,
  78.  
  79.      XFDERR_UNDEFINEDHUNK=$1000,XFDERR_NOHUNKHEADER,XFDERR_BADEXTTYPE,
  80.      XFDERR_BUFFERTRUNCATED,XFDERR_WRONGHUNKAMOUNT,XFDERR_NOOVERLAYS,
  81.  
  82.      XFDERR_UNSUPPORTEDHUNK=$2000,XFDERR_BADRELMODE
  83.  
  84. ENUM XFDREL_DEFAULT=0,XFDREL_FORCECHIP,XFDREL_FORCEFAST
  85.  
  86. ENUM XFDPFB_RELOC=0,XFDPFB_ADDR,XFDPFB_DATA,XFDPFB_PASSWORD,
  87.      XFDPFB_RELMODE,XFDPFB_KEY16,XFDPFB_KEY32,XFDPFB_RECOGLEN,
  88.      XFDPFB_USERTARGET
  89. SET  XFDPFF_RELOC,XFDPFF_ADDR,XFDPFF_DATA,XFDPFF_PASSWORD,
  90.      XFDPFF_RELMODE,XFDPFF_KEY16,XFDPFF_KEY32,XFDPFF_RECOGLEN,
  91.      XFDPFF_USERTARGET
  92.  
  93. ENUM XFDFB_RECOGEXTERN=0,XFDFB_RECOGTARGETLEN,XFDFB_RECOGUSERTARGET,
  94.      XFDFB_USERTARGET
  95. SET  XFDFF_RECOGEXTERN,XFDFF_RECOGTARGETLEN,XFDFF_RECOGUSERTARGET,
  96.      XFDFF_USERTARGET
  97.  
  98. ENUM XFDTHB_NOOVERLAYS=0
  99. SET  XFDTHF_NOOVERLAYS
  100.  
  101. ENUM XFDSHB_NAME=0,XFDSHB_SYMBOL,XFDSHB_DEBUG
  102. SET  XFDSHF_NAME,XFDSHF_SYMBOL,XFDSHF_DEBUG
  103.  
  104. ENUM XFDSDB_USEEXTERN=0,XFDSDB_SCANODD
  105. SET  XFDSDF_USEEXTERN,XFDSDF_SCANODD
  106.  
  107. OBJECT xfdforeman
  108.     security,id,version:INT,reserved:INT,next,seglist,firstslave
  109. ENDOBJECT
  110.  
  111. CONST XFDF_ID="XFDF",XFDF_VERSION=1
  112.  
  113. OBJECT xfdslave
  114.     next,version:INT,masterversion:INT,packername,packerflags:INT,
  115.     maxspeciallen:INT,recogbuffer,decrunchbuffer,recogsegment,
  116.     decrunchsegment,slaveid:INT,replaceid:INT,minbuffersize
  117. ENDOBJECT
  118.  
  119. CONST XFDS_VERSION=2
  120.  
  121. OBJECT xfdrecogresult
  122.   mintargetlen,finaltargetlen
  123. ENDOBJECT
  124.  
  125. #define XFDID_BASE   $8000
  126.  
  127. #define XFDID_PowerPacker23           (XFDID_BASE+$0001)
  128. #define XFDID_PowerPacker30           (XFDID_BASE+$0003)
  129. #define XFDID_PowerPacker30Enc        (XFDID_BASE+$0005)
  130. #define XFDID_PowerPacker30Ovl        (XFDID_BASE+$0007)
  131. #define XFDID_PowerPacker40           (XFDID_BASE+$0009)
  132. #define XFDID_PowerPacker40Lib        (XFDID_BASE+$000a)
  133. #define XFDID_PowerPacker40Enc        (XFDID_BASE+$000b)
  134. #define XFDID_PowerPacker40LibEnc     (XFDID_BASE+$000c)
  135. #define XFDID_PowerPacker40Ovl        (XFDID_BASE+$000d)
  136. #define XFDID_PowerPacker40LibOvl     (XFDID_BASE+$000e)
  137. #define XFDID_PowerPackerData         (XFDID_BASE+$000f)
  138. #define XFDID_PowerPackerDataEnc      (XFDID_BASE+$0010)
  139. #define XFDID_ByteKiller13            (XFDID_BASE+$0011)
  140. #define XFDID_ByteKiller20            (XFDID_BASE+$0012)
  141. #define XFDID_ByteKiller30            (XFDID_BASE+$0013)
  142. #define XFDID_ByteKillerPro10         (XFDID_BASE+$0014)
  143. #define XFDID_ByteKillerPro10Pro      (XFDID_BASE+$0015)
  144. #define XFDID_DragPack10              (XFDID_BASE+$0016)
  145. #define XFDID_TNMCruncher11           (XFDID_BASE+$0017)
  146. #define XFDID_HQCCruncher20           (XFDID_BASE+$0018)
  147. #define XFDID_RSICruncher14           (XFDID_BASE+$0019)
  148. #define XFDID_ANCCruncher             (XFDID_BASE+$001a)
  149. #define XFDID_ReloKit10               (XFDID_BASE+$001b)
  150. #define XFDID_HighPressureCruncher    (XFDID_BASE+$001c)
  151. #define XFDID_STPackedSong            (XFDID_BASE+$001d)
  152. #define XFDID_TSKCruncher             (XFDID_BASE+$001e)
  153. #define XFDID_LightPack15             (XFDID_BASE+$001f)
  154. #define XFDID_CrunchMaster10          (XFDID_BASE+$0020)
  155. #define XFDID_HQCCompressor100        (XFDID_BASE+$0021)
  156. #define XFDID_FlashSpeed10            (XFDID_BASE+$0022)
  157. #define XFDID_CrunchManiaData         (XFDID_BASE+$0023)
  158. #define XFDID_CrunchManiaDataEnc      (XFDID_BASE+$0024)
  159. #define XFDID_CrunchManiaLib          (XFDID_BASE+$0025)
  160. #define XFDID_CrunchManiaNormal       (XFDID_BASE+$0026)
  161. #define XFDID_CrunchManiaSimple       (XFDID_BASE+$0027)
  162. #define XFDID_CrunchManiaAddr         (XFDID_BASE+$0028)
  163. #define XFDID_DefJamCruncher32        (XFDID_BASE+$0029)
  164. #define XFDID_DefJamCruncher32Pro     (XFDID_BASE+$002a)
  165. #define XFDID_TetraPack102            (XFDID_BASE+$002b)
  166. #define XFDID_TetraPack11             (XFDID_BASE+$002c)
  167. #define XFDID_TetraPack21             (XFDID_BASE+$002d)
  168. #define XFDID_TetraPack21Pro          (XFDID_BASE+$002e)
  169. #define XFDID_TetraPack22             (XFDID_BASE+$002f)
  170. #define XFDID_TetraPack22Pro          (XFDID_BASE+$0030)
  171. #define XFDID_DoubleAction10          (XFDID_BASE+$0031)
  172. #define XFDID_DragPack252Data         (XFDID_BASE+$0032)
  173. #define XFDID_DragPack252             (XFDID_BASE+$0033)
  174. #define XFDID_FCG10                   (XFDID_BASE+$0034)
  175. #define XFDID_Freeway07               (XFDID_BASE+$0035)
  176. #define XFDID_IAMPacker10ATM5Data     (XFDID_BASE+$0036)
  177. #define XFDID_IAMPacker10ATM5         (XFDID_BASE+$0037)
  178. #define XFDID_IAMPacker10ICEData      (XFDID_BASE+$0038)
  179. #define XFDID_IAMPacker10ICE          (XFDID_BASE+$0039)
  180. #define XFDID_Imploder                (XFDID_BASE+$003a)
  181. #define XFDID_ImploderLib             (XFDID_BASE+$003b)
  182. #define XFDID_ImploderOvl             (XFDID_BASE+$003c)
  183. #define XFDID_FileImploder            (XFDID_BASE+$003d)
  184. #define XFDID_MasterCruncher30Addr    (XFDID_BASE+$003f)
  185. #define XFDID_MasterCruncher30        (XFDID_BASE+$0040)
  186. #define XFDID_MaxPacker12             (XFDID_BASE+$0041)
  187. #define XFDID_PackIt10Data            (XFDID_BASE+$0042)
  188. #define XFDID_PackIt10                (XFDID_BASE+$0043)
  189. #define XFDID_PMCNormal               (XFDID_BASE+$0044)
  190. #define XFDID_PMCSample               (XFDID_BASE+$0045)
  191. #define XFDID_XPKPacked               (XFDID_BASE+$0046)
  192. #define XFDID_XPKCrypted              (XFDID_BASE+$0047)
  193. #define XFDID_TimeCruncher17          (XFDID_BASE+$0048)
  194. #define XFDID_TFACruncher154          (XFDID_BASE+$0049)
  195. #define XFDID_TurtleSmasher13         (XFDID_BASE+$004a)
  196. #define XFDID_MegaCruncher10          (XFDID_BASE+$004b)
  197. #define XFDID_MegaCruncher12          (XFDID_BASE+$004c)
  198. #define XFDID_ProPack                 (XFDID_BASE+$004d)
  199. #define XFDID_ProPackData             (XFDID_BASE+$004e)
  200. #define XFDID_ProPackDataKey          (XFDID_BASE+$004f)
  201. #define XFDID_STCruncher10            (XFDID_BASE+$0050)
  202. #define XFDID_STCruncher10Data        (XFDID_BASE+$0051)
  203. #define XFDID_SpikeCruncher           (XFDID_BASE+$0052)
  204. #define XFDID_SyncroPacker46          (XFDID_BASE+$0053)
  205. #define XFDID_SyncroPacker46Pro       (XFDID_BASE+$0054)
  206. #define XFDID_TitanicsCruncher11      (XFDID_BASE+$0055)
  207. #define XFDID_TitanicsCruncher12      (XFDID_BASE+$0056)
  208. #define XFDID_TryItCruncher101        (XFDID_BASE+$0057)
  209. #define XFDID_TurboSqueezer61         (XFDID_BASE+$0058)
  210. #define XFDID_TurboSqueezer80         (XFDID_BASE+$0059)
  211. #define XFDID_TurtleSmasher200        (XFDID_BASE+$005a)
  212. #define XFDID_TurtleSmasher200Data    (XFDID_BASE+$005b)
  213. #define XFDID_StoneCracker270         (XFDID_BASE+$005c)
  214. #define XFDID_StoneCracker270Pro      (XFDID_BASE+$005d)
  215. #define XFDID_StoneCracker292         (XFDID_BASE+$005e)
  216. #define XFDID_StoneCracker299         (XFDID_BASE+$005f)
  217. #define XFDID_StoneCracker299d        (XFDID_BASE+$0060)
  218. #define XFDID_StoneCracker300         (XFDID_BASE+$0061)
  219. #define XFDID_StoneCracker300Data     (XFDID_BASE+$0062)
  220. #define XFDID_StoneCracker310         (XFDID_BASE+$0063)
  221. #define XFDID_StoneCracker310Data     (XFDID_BASE+$0064)
  222. #define XFDID_StoneCracker311         (XFDID_BASE+$0065)
  223. #define XFDID_StoneCracker400         (XFDID_BASE+$0066)
  224. #define XFDID_StoneCracker400Data     (XFDID_BASE+$0067)
  225. #define XFDID_StoneCracker401         (XFDID_BASE+$0068)
  226. #define XFDID_StoneCracker401Data     (XFDID_BASE+$0069)
  227. #define XFDID_StoneCracker401Addr     (XFDID_BASE+$006a)
  228. #define XFDID_StoneCracker401BetaAddr (XFDID_BASE+$006b)
  229. #define XFDID_StoneCracker403Data     (XFDID_BASE+$006c)
  230. #define XFDID_StoneCracker404         (XFDID_BASE+$006d)
  231. #define XFDID_StoneCracker404Data     (XFDID_BASE+$006e)
  232. #define XFDID_StoneCracker404Addr     (XFDID_BASE+$006f)
  233. #define XFDID_ChryseisCruncher09      (XFDID_BASE+$0070)
  234. #define XFDID_QuickPowerPacker10      (XFDID_BASE+$0071)
  235. #define XFDID_GNUPacker12             (XFDID_BASE+$0072)
  236. #define XFDID_GNUPacker12Seg          (XFDID_BASE+$0073)
  237. #define XFDID_GNUPacker12Data         (XFDID_BASE+$0074)
  238. #define XFDID_TrashEliminator10       (XFDID_BASE+$0075)
  239. #define XFDID_MasterCruncher30Data    (XFDID_BASE+$0076)
  240. #define XFDID_SuperCruncher27         (XFDID_BASE+$0077)
  241. #define XFDID_UltimatePacker11        (XFDID_BASE+$0078)
  242. #define XFDID_ProPackOld              (XFDID_BASE+$0079)
  243. #define XFDID_SACFPQCruncher          (XFDID_BASE+$007a)
  244. #define XFDID_PowerPackerPatch10      (XFDID_BASE+$007b)
  245. #define XFDID_CFP135                  (XFDID_BASE+$007c)
  246. #define XFDID_BOND                    (XFDID_BASE+$007d)
  247. #define XFDID_PowerPackerLoadSeg      (XFDID_BASE+$007e)
  248. #define XFDID_StoneCracker299b        (XFDID_BASE+$007f)
  249. #define XFDID_CrunchyDat10            (XFDID_BASE+$0080)
  250.  
  251.